package com.ds.lens.data.vo.in.v2.downtime;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;


@Setter
@Getter
public class LensScheduleDowntimeInVO {

    /**
     * 主键
     */
    private Long id;

    /**
     * 应用id
     */
    @NotNull(message = "应用不能为空")
    private Long applicationId;

    /**
     * 执行状态 1未执行，2已执行
     */

    private Integer state;

    /**
     * 监控id
     */
    private Long monitorId;

    /**
     * 监控名称
     */
    private String monitorName;

    /**
     * 监控标签
     */
    private List<String> monitorTags;

    /**
     * 计划类型：1one time、2recurring
     */
    @NotNull(message = "计划类型不能为空")
    private Integer scheduleType;

    /**
     * 开始时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @NotNull(message = "开始时间不能为空")
    private Date startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    /**
     * 循环内容
     */
    @Valid
    private LensRecurringContentInVO recurringContent;
}
